package com.yuerlive.rainbow.module.live.presenter;

import com.yuerlive.rainbow.base.BasePresenter;
import com.yuerlive.rainbow.base.BaseView;
import com.yuerlive.rainbow.entity.BaseData;
import com.yuerlive.rainbow.entity.DayTaskData;
import com.yuerlive.rainbow.entity.GameInfo;
import com.yuerlive.rainbow.entity.MissionData;
import com.yuerlive.rainbow.entity.UserInfo;

import java.util.List;

/**
 * Created by xiaoyi on 2017/6/1.
 */

public interface ChatRoomContract {
    interface Presenter extends BasePresenter {
        void subscribeUp(String upId);

        void getUserInfo(String userId);

        void getDaily(int num);

        void inform(String upUserId,String type);

        void mute(String liveId,String visitorId);
        
        void getGameList();

        void getMissionList();

        void getMissonReward(DayTaskData data);

        void shareLivingRequest(int liveId);

    }

    interface View extends BaseView<Presenter> {

        void showSubscribeResult(int code, String userId);

        void showUserInfo(BaseData<UserInfo> anchorBaseData);

        void getDailyResult(int num,BaseData result);

        void showInformResult(int code);

        void showMuteResult(BaseData baseData);

        void setGameList(BaseData<List<GameInfo>> listBaseData);

        void showMissionList(BaseData<List<DayTaskData>> data);

        void showMissionReward(BaseData<MissionData> data, DayTaskData dayTaskData);

        void showShareLivingResult(BaseData data);
    }
}
